#pragma once

#include "IXBaseObj.h"

/**
 *  IXDraw Interface.
 *
 */
class ExportXSkinLib IXDraw : public IXBaseObj
{
    DEF_INTERFACE(IXDraw, _T("{1B057CE7-784F-4199-AB39-CDED0E2D558C}"));
public:

    virtual HRESULT STDMETHODCALLTYPE   Draw(IN XCANVAS xCanvas, IN const RECT* lpDes) = 0;
    virtual HRESULT STDMETHODCALLTYPE   Draw(IN XCANVAS xCanvas, IN const RECT* lpSrc, IN const RECT* lpDes) = 0;

    virtual BOOL    STDMETHODCALLTYPE   IsDrawValid() = 0;

    virtual void    STDMETHODCALLTYPE   EnableColorize(IN BOOL bEnable) = 0;
    virtual void    STDMETHODCALLTYPE   Colorize(IN int hue, IN int sat, IN int light) = 0;
};
